import axios from '../utils/axios'

// 菜单管理API
export const menuApi = {
  // 获取菜单列表
  getMenuList(params = {}) {
    return axios.get('/menus', { params })
  },

  // 根据ID获取菜单信息
  getMenuById(id) {
    return axios.get(`/menus/${id}`)
  },

  // 创建菜单
  createMenu(menuData) {
    return axios.post('/menus', menuData)
  },

  // 更新菜单
  updateMenu(id, menuData) {
    return axios.put(`/menus/${id}`, menuData)
  },

  // 删除菜单
  deleteMenu(id) {
    return axios.delete(`/menus/${id}`)
  },

  // 更新菜单状态
  updateMenuStatus(id, status) {
    return axios.put(`/menus/${id}/status`, { status })
  },
  // 菜单可见状态
  updateMenuVisible(id, visible) {
    return axios.put(`/menus/${id}/visible`, { visible })
  },
  // 获取当前用户的菜单列表
  getCurrentUserMenus() {
    return axios.get('/menus/user')
  },

  // 获取菜单树形结构
  getMenuTree() {
    return axios.get('/menus/tree')
  },

  // 获取菜单下拉选项
  getMenuOptions() {
    return axios.get('/menus/options')
  },

  // 批量删除菜单
  batchDeleteMenus(ids) {
    return axios.post('/menus/batch-delete', { ids })
  },

  // 更新菜单排序
  updateMenuSort(sortData) {
    return axios.put('/menus/sort', sortData)
  }
}
